package scala.datatype

/**
 * 数据类型
 */
object ScalaDataTypeTest {

  /**
   * 简单输出程序,基本语法java加python
   * unit : 等同于java void关键字
   *
   * @param args
   */
  def main(args: Array[String]): Unit = {
    println(this.Symbol("Scala"))
    println(this.LongData(1).toLong)
    println(this.doubleData(1.90).toDouble)
    println(this.booleanData(true).atomicBoolean)
  }

  /**
   * String 类型方法
   *
   * @param name
   */
  final case class Symbol private(name: String) {
    override def toString: String = name
  }

  /**
   * Long 类型
   *
   * @param id
   */
  final case class LongData private(id: Long) {
    def toLong: Long = id
  }

  /**
   * Double 类型
   *
   * @param num
   */
  final case class doubleData private(num: Double) {
    def toDouble: Double = num
  }

  /**
   * 布尔类型
   *
   * @param fl
   */
  final case class booleanData private(fl: Boolean) {
    def atomicBoolean: Boolean = fl
  }

}
